home *** CD-ROM | disk | FTP | other *** search
/ Personal Computer World 2009 February / PCWFEB09.iso / Software / Resources / Chat & Communication / Digsby build 37 / digsby_setup.exe / lib / dns / rcode.pyo (.txt) < prev    next >
Python Compiled Bytecode  |  2008-10-13  |  2KB  |  74 lines

  1. # Source Generated with Decompyle++
  2. # File: in.pyo (Python 2.5)
  3.  
  4. import dns.exception as dns
  5. NOERROR = 0
  6. FORMERR = 1
  7. SERVFAIL = 2
  8. NXDOMAIN = 3
  9. NOTIMP = 4
  10. REFUSED = 5
  11. YXDOMAIN = 6
  12. YXRRSET = 7
  13. NXRRSET = 8
  14. NOTAUTH = 9
  15. NOTZONE = 10
  16. BADVERS = 16
  17. _by_text = {
  18.     'NOERROR': NOERROR,
  19.     'FORMERR': FORMERR,
  20.     'SERVFAIL': SERVFAIL,
  21.     'NXDOMAIN': NXDOMAIN,
  22.     'NOTIMP': NOTIMP,
  23.     'REFUSED': REFUSED,
  24.     'YXDOMAIN': YXDOMAIN,
  25.     'YXRRSET': YXRRSET,
  26.     'NXRRSET': NXRRSET,
  27.     'NOTAUTH': NOTAUTH,
  28.     'NOTZONE': NOTZONE,
  29.     'BADVERS': BADVERS }
  30. _by_value = []([ (y, x) for x, y in _by_text.iteritems() ])
  31.  
  32. class UnknownRcode(dns.exception.DNSException):
  33.     pass
  34.  
  35.  
  36. def from_text(text):
  37.     if text.isdigit():
  38.         v = int(text)
  39.         if v >= 0 and v <= 4095:
  40.             return v
  41.         
  42.     
  43.     v = _by_text.get(text.upper())
  44.     if v is None:
  45.         raise UnknownRcode
  46.     
  47.     return v
  48.  
  49.  
  50. def from_flags(flags, ednsflags):
  51.     value = flags & 15 | ednsflags >> 20 & 4080
  52.     if value < 0 or value > 4095:
  53.         raise ValueError, 'rcode must be >= 0 and <= 4095'
  54.     
  55.     return value
  56.  
  57.  
  58. def to_flags(value):
  59.     if value < 0 or value > 4095:
  60.         raise ValueError, 'rcode must be >= 0 and <= 4095'
  61.     
  62.     v = value & 15
  63.     ev = long(value & 4080) << 20
  64.     return (v, ev)
  65.  
  66.  
  67. def to_text(value):
  68.     text = _by_value.get(value)
  69.     if text is None:
  70.         text = str(value)
  71.     
  72.     return text
  73.  
  74.